1
Указатели против ссылок: Понимание псевдонимов и адресов
AI037Lesson 4
00:00

Анатомия составных типов

C++ составные типы определяются путем объединения базового типа с модификатором типа. Хотя ссылки и указатели обеспечивают косвенную адресацию, они философски различаются. Ссылка ссылка (&) — это постоянный псевдоним — никнейм существующего объекта. После привязки её нельзя переназначить. Напротив, указатель указатель (*) — это независимый объект в памяти, хранящий шестнадцатеричный адрес. Он может быть перенаправлен на другие объекты или установлен в nullptr.

Визуализация памяти

Память [i]Метка: i, rПамять [p]Значение: 0x7FFD... (i)Ссылка: один ящик, два имениУказатель: отдельный ящик хранит адрес

В коде int *p1, p2;, только p1 является указателем; p2 — это обычное целое число. Чтобы сделать оба указателя, используйте int *p1, *p2;. Это подчеркивает, что модификатор относится к конкретному объявляемому элементу, а не к базовому типу.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>